package com.regent.central.bill.core.storehouse;

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;

@Table(name = "stock_change")
public class StockChange {
    /**
     * 主键ID
     */
    @Id
    private String id;

    /**
     * 组织id
     */
    @Column(name = "unit_id")
    private String unitId;

    /**
     * 仓库id
     */
    @Column(name = "storehouse_id")
    private String storehouseId;

    /**
     * 老板组织id
     */
    @Column(name = "boss_unit_id")
    private String bossUnitId;

    /**
     * 当天变动编号
     */
    @Column(name = "inventory_no")
    private Integer inventoryNo;

    /**
     * 库存变动类型（1：入库，2：出库，3：异常调整，4：收到退货，5：发货，6：代发货，7：代退货）
     */
    @Column(name = "inventory_type")
    private Byte inventoryType;

    /**
     * 操作类型
     */
    @Column(name = "op_type")
    private String opType;

    /**
     * 变动记录状态（0：有效，1：已撤销）
     */
    private Boolean status;

    /**
     * 变动数量
     */
    private BigDecimal num;

    /**
     * 入库数、调整的正数 （数值为正数，例：23）
     */
    @Column(name = "add_num")
    private BigDecimal addNum;

    /**
     * 出库数、调整的负数（数值为正数，例：21）
     */
    @Column(name = "subtract_num")
    private BigDecimal subtractNum;

    /**
     * 标签id
     */
    @Column(name = "label_id")
    private String labelId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 变动时间
     */
    @Column(name = "inventory_time")
    private Date inventoryTime;

    /**
     * 数据版本，用来做乐观锁
     */
    private Integer version;

    /**
     * 创建人
     */
    @Column(name = "create_by")
    private String createBy;

    /**
     * 创建时间
     */
    @Column(name = "create_at")
    private Date createAt;

    /**
     * 操作人
     */
    @Column(name = "op_by")
    private String opBy;

    /**
     * 操作时间
     */
    @Column(name = "op_at")
    private Date opAt;

    /**
     * 删除标志
     */
    @Column(name = "del_flag")
    private Boolean delFlag;

    /**
     * 获取主键ID
     *
     * @return id - 主键ID
     */
    public String getId() {
        return id;
    }

    /**
     * 设置主键ID
     *
     * @param id 主键ID
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取组织id
     *
     * @return unit_id - 组织id
     */
    public String getUnitId() {
        return unitId;
    }

    /**
     * 设置组织id
     *
     * @param unitId 组织id
     */
    public void setUnitId(String unitId) {
        this.unitId = unitId;
    }

    /**
     * 获取仓库id
     *
     * @return storehouse_id - 仓库id
     */
    public String getStorehouseId() {
        return storehouseId;
    }

    /**
     * 设置仓库id
     *
     * @param storehouseId 仓库id
     */
    public void setStorehouseId(String storehouseId) {
        this.storehouseId = storehouseId;
    }

    /**
     * 获取老板组织id
     *
     * @return boss_unit_id - 老板组织id
     */
    public String getBossUnitId() {
        return bossUnitId;
    }

    /**
     * 设置老板组织id
     *
     * @param bossUnitId 老板组织id
     */
    public void setBossUnitId(String bossUnitId) {
        this.bossUnitId = bossUnitId;
    }

    /**
     * 获取当天变动编号
     *
     * @return inventory_no - 当天变动编号
     */
    public Integer getInventoryNo() {
        return inventoryNo;
    }

    /**
     * 设置当天变动编号
     *
     * @param inventoryNo 当天变动编号
     */
    public void setInventoryNo(Integer inventoryNo) {
        this.inventoryNo = inventoryNo;
    }

    /**
     * 获取库存变动类型（1：入库，2：出库，3：异常调整，4：收到退货，5：发货，6：代发货，7：代退货）
     *
     * @return inventory_type - 库存变动类型（1：入库，2：出库，3：异常调整，4：收到退货，5：发货，6：代发货，7：代退货）
     */
    public Byte getInventoryType() {
        return inventoryType;
    }

    /**
     * 设置库存变动类型（1：入库，2：出库，3：异常调整，4：收到退货，5：发货，6：代发货，7：代退货）
     *
     * @param inventoryType 库存变动类型（1：入库，2：出库，3：异常调整，4：收到退货，5：发货，6：代发货，7：代退货）
     */
    public void setInventoryType(Byte inventoryType) {
        this.inventoryType = inventoryType;
    }

    /**
     * 获取操作类型
     *
     * @return op_type - 操作类型
     */
    public String getOpType() {
        return opType;
    }

    /**
     * 设置操作类型
     *
     * @param opType 操作类型
     */
    public void setOpType(String opType) {
        this.opType = opType;
    }

    /**
     * 获取变动记录状态（0：有效，1：已撤销）
     *
     * @return status - 变动记录状态（0：有效，1：已撤销）
     */
    public Boolean getStatus() {
        return status;
    }

    /**
     * 设置变动记录状态（0：有效，1：已撤销）
     *
     * @param status 变动记录状态（0：有效，1：已撤销）
     */
    public void setStatus(Boolean status) {
        this.status = status;
    }

    /**
     * 获取变动数量
     *
     * @return num - 变动数量
     */
    public BigDecimal getNum() {
        return num;
    }

    /**
     * 设置变动数量
     *
     * @param num 变动数量
     */
    public void setNum(BigDecimal num) {
        this.num = num;
    }

    /**
     * 获取入库数、调整的正数 （数值为正数，例：23）
     *
     * @return add_num - 入库数、调整的正数 （数值为正数，例：23）
     */
    public BigDecimal getAddNum() {
        return addNum;
    }

    /**
     * 设置入库数、调整的正数 （数值为正数，例：23）
     *
     * @param addNum 入库数、调整的正数 （数值为正数，例：23）
     */
    public void setAddNum(BigDecimal addNum) {
        this.addNum = addNum;
    }

    /**
     * 获取出库数、调整的负数（数值为正数，例：21）
     *
     * @return subtract_num - 出库数、调整的负数（数值为正数，例：21）
     */
    public BigDecimal getSubtractNum() {
        return subtractNum;
    }

    /**
     * 设置出库数、调整的负数（数值为正数，例：21）
     *
     * @param subtractNum 出库数、调整的负数（数值为正数，例：21）
     */
    public void setSubtractNum(BigDecimal subtractNum) {
        this.subtractNum = subtractNum;
    }

    /**
     * 获取标签id
     *
     * @return label_id - 标签id
     */
    public String getLabelId() {
        return labelId;
    }

    /**
     * 设置标签id
     *
     * @param labelId 标签id
     */
    public void setLabelId(String labelId) {
        this.labelId = labelId;
    }

    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取变动时间
     *
     * @return inventory_time - 变动时间
     */
    public Date getInventoryTime() {
        return inventoryTime;
    }

    /**
     * 设置变动时间
     *
     * @param inventoryTime 变动时间
     */
    public void setInventoryTime(Date inventoryTime) {
        this.inventoryTime = inventoryTime;
    }

    /**
     * 获取数据版本，用来做乐观锁
     *
     * @return version - 数据版本，用来做乐观锁
     */
    public Integer getVersion() {
        return version;
    }

    /**
     * 设置数据版本，用来做乐观锁
     *
     * @param version 数据版本，用来做乐观锁
     */
    public void setVersion(Integer version) {
        this.version = version;
    }

    /**
     * 获取创建人
     *
     * @return create_by - 创建人
     */
    public String getCreateBy() {
        return createBy;
    }

    /**
     * 设置创建人
     *
     * @param createBy 创建人
     */
    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    /**
     * 获取创建时间
     *
     * @return create_at - 创建时间
     */
    public Date getCreateAt() {
        return createAt;
    }

    /**
     * 设置创建时间
     *
     * @param createAt 创建时间
     */
    public void setCreateAt(Date createAt) {
        this.createAt = createAt;
    }

    /**
     * 获取操作人
     *
     * @return op_by - 操作人
     */
    public String getOpBy() {
        return opBy;
    }

    /**
     * 设置操作人
     *
     * @param opBy 操作人
     */
    public void setOpBy(String opBy) {
        this.opBy = opBy;
    }

    /**
     * 获取操作时间
     *
     * @return op_at - 操作时间
     */
    public Date getOpAt() {
        return opAt;
    }

    /**
     * 设置操作时间
     *
     * @param opAt 操作时间
     */
    public void setOpAt(Date opAt) {
        this.opAt = opAt;
    }

    /**
     * 获取删除标志
     *
     * @return del_flag - 删除标志
     */
    public Boolean getDelFlag() {
        return delFlag;
    }

    /**
     * 设置删除标志
     *
     * @param delFlag 删除标志
     */
    public void setDelFlag(Boolean delFlag) {
        this.delFlag = delFlag;
    }
}